package com.leon.learnenginespace.drools.dao;


import com.leon.learnenginespace.drools.pojo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author : songxinyu
 * @description :
 * @program : msfDrools
 * @date : 2023-03-30
 */

@Mapper
public interface BindMapper {
    /**
     * 绑定解绑查询
     */
    /**
     * 根据规则id，查询规则表中的规则
     * @param ruleConfigId
     * @return
     */
    TDrlRuleConfi tDrlSceneRuleBindConfiselect(@Param("ruleConfigId") String ruleConfigId);

    /**
     * 根据规则id，查询规则字段表中的参数
     * @param ruleConfigId
     * @return
     */
    List<TDrlRuleColumnConfig> tDrlSceneRuleFieldselect(@Param("ruleConfigId") String ruleConfigId);

    /**
     * 根据规则id，查询规则场景表中的规则
     */
    TDrlSceneConfig tDrlSceneConfigselect(@Param("sceneConfigId") String sceneConfigId);

    /**
     * 把场景信息、规则信息，存储在场景规则绑定表
     */
    int tDrlSceneConfiginsert(TDrlNSceneRuleBindConfig tDrlNSceneRuleBindConfig);

    /**
     * 把规则字段信息存储到绑定规则字段配置表
     */
    int tDrlRuleBindColumnConfiginsert(TDrlNRuleBindColumnConfig tDrlNRuleBindColumnConfig);
    /**
     * 查询绑定规则是否存在.
     */
    String tDrlSceneConfigBindSelect(@Param("sceneConfigId") String sceneConfigId,@Param("ruleConfigId") String ruleConfigId);

    /**
     * 查询绑定规则是否存在.
     */
    Integer tDrlSceneConfigNutieSelect(@Param("sceneConfigId") String sceneConfigId,@Param("ruleConfigId") String ruleConfigId);

    /**
     * 更新规则绑定表.
     */
    int tDrlSceneConfigNutieUpdate(TDrlNSceneRuleBindConfig tDrlNSceneRuleBindConfig);

    /**
     * 删除绑定规则参数
     * @param sceneCode
     * @param ruleConfigId
     * @return
     */
    int deleteBindColunm(@Param("sceneCode") String sceneCode,@Param("ruleConfigId") String ruleConfigId);

    /**
     * 更新规则绑定场景id
     * @param sceneConfigId
     * @param ruleConfigId
     * @return
     */
    int updateBinds(@Param("sceneConfigId") String sceneConfigId,@Param("ruleConfigId") String ruleConfigId);

    /**
     * 规则已上架不能解绑
     * @return
     */
    int versoinSelect(TDrlNSceneRuleBindConfig tDrlNSceneRuleBindConfig);
}
